package raceReservationServer;

import java.rmi.RemoteException;
import java.sql.SQLException;
import java.util.List;

import authorizationRMI.InvalidPasswordException;
import authorizationRMI.InvalidUserException;

import raceReservationServer.loginGateway.ValidationException;

import RMIClient.RunnerRMIDTO;


/**
 * REMOTE INTERFACE TO BE IMPLEMENTED BY THE REMOTE SERVER WHICH IS THE REMOTE
 * OBSERVABLE FACADE
 * 
 * TO BE COMPLETED BY THE STUDENTS
 */
public interface IReservationRaceServer extends util.observer.rmi.IRemoteObservable{
	public RunnerRMIDTO login(String user, String pass)throws InvalidUserException, InvalidPasswordException, RemoteException;
	public List<RaceRMIDTO> getRaces() throws RemoteException;
	public void reservePlace(String runnerName, String raceSever, String raceName)throws RemoteException, SQLException;
	
}
